package com.biblioteca.servicio;


import com.biblioteca.dao.GeneroDao;
import com.biblioteca.persistencia.Genero;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Required;
import org.springframework.stereotype.Service;


@Service
public class GeneroServicioImplementacion implements GeneroServicio{

    private GeneroDao generoDao;

    
    @Autowired
    @Required
    public void setGeneroDao(GeneroDao generoDao) {
        this.generoDao = generoDao;
    }
    
    
    
    
    @Override
    public void create(Genero genero) {
        generoDao.insert(genero);
    }

    @Override
    public void create(String genero) {
        Genero gn = new Genero();
        gn.setGenero(genero);
        generoDao.insert(gn);
    }

    @Override
    public void update(Genero genero) {
        generoDao.update(genero);
    }

    @Override
    public List<Genero> getGenerosAlmacenados() {
        List<Genero> ls = new ArrayList<Genero>();
        ls = generoDao.getAll(Genero.class);
        return ls;
    }

    
    @PostConstruct
    @Override
    public void preloadGeneros() {
        
        generoDao.removeAll(Genero.class);

        Genero g1 = new Genero();
        g1.setGenero("Teatro");
        
        Genero g2 = new Genero();
        g2.setGenero("Novela");
        
        generoDao.insert(g2);
        generoDao.insert(g1);
    }
    
}
